﻿from django.db import models
from geography.models import L0Object, L1Object, L2Object, L34Object, Place

POSITION_TYPE_META = (
    (9, u'Федеральный координатор'),
    (8, u'Председатель регионального отделения'),
    (7, u'Председатель муниципального отделения'),
    (6, u'Координатор по виду спорта'),
    (5, u'Помощник координатора'),
    (4, u'Куратор учебного заведения'),
    (3, u'Помощник куратора'),
    (2, u'Член ВОО'),
    (1, u'Сторонник ВОО'),
)

class SportType(models.Model):
    
    
    title = models.CharField(u'вид спорта', null=False, blank=False, max_length=255)
    places = models.ManyToManyField(Place, verbose_name=u'секции/спортшколы')
    
    def __unicode__(self):
        return unicode(self.title)
    
    class Meta:
        verbose_name = u'вид спорта'
        verbose_name_plural = u'виды спорта'

class PositionType(models.Model):
    
    
    title = models.CharField(u'название должности', blank=False, null=False, max_length=100)
    weight = models.IntegerField(u'должность', choices=POSITION_TYPE_META)
    
    def __unicode__(self):
        return unicode(self.title)
        
    class Meta:
        verbose_name = u'вид должности'
        verbose_name_plural = u'виды должности'

class Position(models.Model):
    
    
    position_type = models.ForeignKey(PositionType, verbose_name=u'тип должности', related_name=u'type')
    place = models.ForeignKey(Place, verbose_name=u'место', null=True)
    sport_type = models.ForeignKey(SportType, verbose_name=u'вид спорта', null=True)
    
    def __unicode__(self):
        if self.place is None:
            return unicode(self.position_type)+u'(%s)' % (unicode(self.sport_type))
        else:
            return unicode(self.position_type)+u'(%s)' % (unicode(self.place))
    
    class Meta:
        verbose_name = u'должность'
        verbose_name_plural = u'должности'
        
class Departament(models.Model):
    
    title = models.CharField(u'', blank=False, null=False, max_length=255)
    L0Object = models.ForeignKey(L0Object, verbose_name=u'страна', null=True, blank=True)
    L1Object = models.ForeignKey(L1Object, verbose_name=u'область', null=True, blank=True)
    L2Object = models.ForeignKey(L2Object, verbose_name=u'район', null=True, blank=True)
    L34Object = models.ForeignKey(L34Object, verbose_name=u'город', null=True, blank=True)
    parent = models.ForeignKey('Departament', verbose_name=u'вышестоящее отделение', null=True, blank=True)

    def __unicode__(self):
        return unicode(self.title)
        
    class Meta:
        verbose_name = u'отделение'
        verbose_name_plural = u'отделения'

